package uiLayer;
import ctrLayer.*;
import modelLayer.*;

import java.util.Scanner;

/**
 * Person delen af tui-laget.
 * 
 * @author (Gruppe 2. Jonas, Danny, Kasper, Bruno & Jesper) 
 * @version (17/12-2012)
 */
public class PersonUI
{
    private PersonCtr pCtr = new PersonCtr();
    
    /**
     * Ctor
     */
    public PersonUI()
    {
        startPersonUI();
    }
     
    private void startPersonUI()
    {
        boolean exit = false;
        
        while (!exit)
        {
            int input = getMainMenu();
            
            if (input == 1) { // Opret person
                opretPerson();
            } else if (input == 2)  { // Find person
                findPerson();
            }  else if (input == 3)  { // Slet person
                sletPerson();
            }  else if (input == 4) { // Udvid person til kunde
                udvidPersonTilKunde();
            //}  else if (input == 5) { // Udvid person til ansat
            //    udvidPersonTilAnsat();
            }  else if (input == 6) { // Gå tilbage
                exit = true;
            }  else {
                MainUI.ugyldigtInput();
            }
        }
    }
    
    private int getMainMenu()
    {
       System.out.println("Personer:");
       System.out.println("1. Opret person");
       System.out.println("2. Find person");
       System.out.println("3. Slet person");
       System.out.println("4. Udvid person til kunde");
       //System.out.println("5. Udvid person til ansat");
       System.out.println("6. Gå tilbage");
        
       int input = MainUI.getIntInput("");
        
       return input;
    }
    
    private void opretPerson()
    {
        Kunde kunde = null;
        Ansat ansat = null;
        String navn = MainUI.getStringInput("Skriv Navn");
        String adresse = MainUI.getStringInput("Skriv Adresse");
        String postNr = MainUI.getStringInput("Skriv Post Nr");
        String by = MainUI.getStringInput("Skriv By");
        String tlf = MainUI.getStringInput("Skriv TelefonNr");
        String email = MainUI.getStringInput("Skriv Email");
        System.out.println("");
        
        try
        {
            pCtr.opretPerson(ansat, kunde, navn, adresse, postNr, by, tlf, email);
            System.out.println("Personen er nu oprettet");
        }
        catch (Exception e)
        {
            System.out.println(e.getMessage());
        }
        
        MainUI.waitForInput();
    }
    
    private void findPerson()
    {
        String tlf = MainUI.getStringInput("Skriv TelefonNr");
        Person person = pCtr.findPerson(tlf);
        
        if (person != null)
        {
        System.out.println("Personens navn: " + person.getNavn());
        System.out.println("Personens adresse: " + person.getAdresse());
        System.out.println("Personens post nr: " + person.getPostNr());
        System.out.println("Personens by: " + person.getBy());
        System.out.println("Personens tlf: " + person.getTlf());
        System.out.println("Personens email: " + person.getEmail());
        }
        else
        {
            System.out.println("Personen findes ikke!");
        }
        MainUI.waitForInput();
    }
    
    private void sletPerson()
    {
       String tlf = MainUI.getStringInput("Skriv Tlf nr på den ønsket person du vil slette");
       try
       {
           pCtr.sletPerson(tlf);
           System.out.println("Personen er nu slettet");
        }
       catch (Exception e)
       {
           System.out.println(e.getMessage());
       }
       
       
       MainUI.waitForInput();
    }
    
    private void udvidPersonTilKunde()
    {
        String tlf = MainUI.getStringInput("Indtast personens tlf nr:");
        Person person = pCtr.findPerson(tlf);
        
        if (person != null)
        {
            int kundeType = MainUI.getIntInput("Tast 1 for Erhvervskunde. Tast 2 for Privatkunde.");
            if (kundeType == 1)
            {
                String firmaNavn = MainUI.getStringInput("Indtast erhvervskundens firmanavn:");
                String kreditNr = MainUI.getStringInput("Indtast erhvervskundens kredit nr:");
                
                PersonCtr pCtr = new PersonCtr();
                pCtr.udvidTilErhverv(person, firmaNavn, kreditNr);
            }
            else if (kundeType == 2)
            {
                pCtr.udvidTilPrivat(person);
            }
        }
        else
        {
            System.out.println("Personen findes ikke!");
        }
        
    }
}
